package appmodel;

import java.io.Serializable;
import java.util.Comparator;
import java.util.Hashtable;

import dominio.Planta;

@SuppressWarnings("serial")
public class Comps implements Serializable{
	
	private static Hashtable<String, Comparator<Planta>> comps = new Hashtable<String, Comparator<Planta>>();
	
	static {
		comps.put("nombre", new Comparator<Planta>() {
			public int compare(Planta p1, Planta p2) {
		    	return p1.getNombre().compareToIgnoreCase(p2.getNombre());
		    }
		});
		
		comps.put("ataque", new Comparator<Planta>() {
				public int compare(Planta p1, Planta p2) {
			    	return (new Integer(p1.getPuntosAtaque())).compareTo(new Integer(p2.getPuntosAtaque()));
			    }
		});
		
		comps.put("defensa", new Comparator<Planta>() {
				public int compare(Planta p1, Planta p2) {
			    	return (new Integer(p1.getPuntosDefensa())).compareTo(new Integer(p2.getPuntosDefensa()));
			    }
		});
	}
	
	public static Comparator<Planta> get(String key, Integer criterio) {
		return new ReverseComparator<Planta>(comps.get(key), criterio);
	}
}
